✈️好用工具✈️好用工具cloudflare pagers反代博客去除端口号
小蜜蜂由于近期zf的GFW力度加大,workers的域名已经被污染了。只是利用workers.dev的域名大概率出现无法访问。这里讲解一下在CloudFlare Pages利用其Functions部署反代的思路,可以共大家借鉴。实例为反代本网站。理论上任何域名都可以,也包括节点域名
1.准备文件,文件命名为_worker.js,内容如下:
export default { async fetch(request, env) { const incomingUrl = new URL(request.url);
// 如果是要反代的路径,统一处理 if (incomingUrl.pathname.startsWith('/')) { // 构造目标地址(带端口) const targetOrigin = "shyper.cf"; const targetUrl = new URL(incomingUrl.pathname + incomingUrl.search, targetOrigin);
// 克隆原始请求 const proxyRequest = new Request(targetUrl, { method: request.method, headers: request.headers, body: request.body, redirect: "follow", });
// 执行反代请求 const response = await fetch(proxyRequest);
// 可选:为前端跨域请求添加 CORS headers const newHeaders = new Headers(response.headers); newHeaders.set("Access-Control-Allow-Origin", "*"); newHeaders.set("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS"); newHeaders.set("Access-Control-Allow-Headers", "*");
return new Response(response.body, { status: response.status, statusText: response.statusText, headers: newHeaders, }); }
// 非反代请求,走静态资源(如有) return env.ASSETS.fetch(request); } };
|